let baseURL = "http://127.0.0.1:5500"

let set = new Set();

function ajax(jQuery,url) {

    if (set.has(url)) {
        console.log("请勿重复提交");
        return Promise.reject({status: -1,msg: "请勿重复提交"})
    }

    set.add(url);

    // 一分钟之后移除掉（兜底）
    setTimeout(() => set.delete(url),60 * 1000);

    return new Promise(function(resolve,reject) {
        jQuery.ajax({
            url: baseURL + url,
            // 请求方法，默认为GET，如果要以json交互，一定改为post
            type: "GET",
            // 请求数据，post的时候传输一个对象（暂时未测试，框架是否会自动把data转为json字符串）
            // data: {}
            // 请求头中的Content-Type，重要参数，如果使用json传输数据，一定改为"application/json"
            // contentType: "application/json"
            // 请求成功的回调函数
            success(res) {
                if (res.status > 0) {
                    resolve(res);
                } else {
                    alert(res.msg);
                    reject(res);
                }
            },
            // 请求失败的回调
            error(res) {
                reject(res);
            },
            // 无论成功失败的最终回调
            complete() {
                set.delete(url); 
            },
        })
    })
}

export {ajax};